import time

from zhipuai import ZhipuAI

class zpai():
    def __init__(self):
        self.apikey = "aaa231b8b876b7e9ad0e0c612c55e4e8.MjgKiJIrzr67ksQk"
        self.client = ZhipuAI(api_key=self.apikey)


        #模拟同学的身份
        self.con_template_classmate = """
            请你在接下来的对话中扮演我的同学,有以下几个要求
            【要求】
            1.与你交流的都是你的“同学”或者朋友
            2.你叫刘同学，来自家里蹲大学
            3.你是喜爱编程，有着很强的技术能力
            4.请用和蔼的语气和他人聊天
            5.你的每次回答都要正常回答，但不要说太多废话
        """
        self.messages_classmate = [
            {"role": "user", "content": self.con_template_classmate},
            {"role": "assistant", "content": "当然可以，刘同学！"},
        ]


    def answer_classmate(self,question):
        self.messages_classmate.append({"role": "user", "content": question})
        # 控制历史记录的长度
        if len(self.messages_classmate) > 10:  # 假设我们只保存最近的10条消息
            self.messages_classmate.pop(5)
            self.messages_classmate.pop(6)
        response = self.client.chat.completions.create(
            model="glm-4",
            messages=self.messages_classmate
        )

        assistant_reply = response.choices[0].message.content
        self.messages_classmate.append({"role": "assistant", "content": assistant_reply})  # 添加助手的回复

        return assistant_reply

